﻿<%@ Application Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace=" System.Collections" %>
<%@ Import Namespace="System.Collections.Generic" %>
<%@ Import Namespace="TarreOA.TarreOAModels" %>
<%@ Import Namespace="TarreOA.TarreOABLL" %>
<script RunAt="server">
    
    void Application_Start(object sender, EventArgs e)
    {
        // 在应用程序启动时运行的代码

    }

    void Application_End(object sender, EventArgs e)
    {
        //  在应用程序关闭时运行的代码

    }

    void Application_Error(object sender, EventArgs e)
    {
        // 在出现未处理的错误时运行的代码
        Exception myex = Server.GetLastError().GetBaseException();
        string message = myex.Message;
    }

    void Session_Start(object sender, EventArgs e)
    {
        // 在新会话启动时运行的代码

    }

    void Session_End(object sender, EventArgs e)
    {
        User curLoginUser = (User)Session["user"];
        OnlineList.getOnlineUsers().Remove(curLoginUser.LoginName);
        // 在会话结束时运行的代码。 
        // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
        // InProc 时，才会引发 Session_End 事件。如果会话模式设置为 StateServer 
        // 或 SQLServer，则不会引发该事件。
    }

    void Session_OnEnd(object sender, EventArgs e)
    {
        User curLoginUser = (User)Session["user"];
        OnlineList.getOnlineUsers().Remove(curLoginUser.LoginName);
        if (Session["thl_id"] != null)
        {
            int thl_id = (int)Session["thl_id"];
            UserTalkContent utc = UserTalkContent.instance();
            List<User> userList = (List<User>)utc.TalkUsers["Talk" + thl_id.ToString()];
            OnlineList.getOnlineUsers().Remove(curLoginUser.LoginName);
            if (userList.Remove(curLoginUser))
            {
                List<string> contentList = (List<string>)utc.TalkContents["Talk" + thl_id];
                contentList.Add("[<font color=''><b>" + curLoginUser.UserName + "</b></font>]礼貌的点了点头，开门离去！<font color='#a9a9a9'>["
                        + DateTime.Now.ToString() + "]</font>");
                utc.TalkUsers["Talk" + thl_id.ToString()] = userList;
            }
            Session.Remove("thl_id");
        }
    }
       
</script>
